1. Field of the Invention
The invention relates to a storage controller and a control method for the same. More particularly, the invention is suitable for use in a storage controller in which a microprocessor that controls data I/O to/from a host computer includes plural cores (computer engines), and use in a control method for that storage controller.
2. Description of Related Art
Storage controllers create, in storage areas provided by storage devices, logical volumes consisting of a logical area data is input/output to/from, and provide the created logical volumes to a host computer. Each of those controllers includes a controller for controlling data I/O to/from logical volumes according to requests from a host computer.
Conventionally, improvement in the reliability and responsiveness of those storage controllers during processing for commands given from the host computer has been sought for. In recent years, a technique for distributing processing to plural controllers provided in a storage controller has been proposed.
JP-A-9-146842 discloses a technique for having, after one of controllers receives a command, both a processor included in that controller and a processor included in another controller execute processing based on the received command. JP-A-11-312058 discloses a storage controller having dual controllers.
Those patent documents disclose storage controllers having plural identical controllers. Each controller is allocated to a logical volume, and that controller executes data I/O processing or similar for the allocated logical volume. If a controller receives, from a host computer, a command targeting a logical volume other than the logical volume allocated to that controller, the controller requests that a controller allocated to the logical volume executes processing for the command.
Meanwhile, if plural controllers are provided in a storage controller apparatus, even if data I/O requests are issued from a host computer evenly to the controllers, the data I/O processing is executed by a controller allocated to a command target logical volume. Therefore, if the access concentrates on a certain logical volume, the load also concentrates on the controller allocated to that logical volume. The load concentration leads to reduced processing speed in the data I/O processing for the logical volume allocated to the controller.
Also, if plural controllers are provided in a storage controller apparatus as described above and data is copied between logical volumes, different controllers may be allocated respectively to a primary volume (copy source) and a secondary volume (copy destination). If different controllers are allocated respectively to the copy source logical volume and the copy destination logical volume, those controllers have to communicate with each other during copy processing, and therefore, the loads on the controllers increase because of that communication. The increase in the loads on the controllers also leads to reduced processing speed in the data I/O processing for the logical volumes allocated to the controllers.
To prevent the reduced processing speed in data I/O processing, it is necessary to configure settings for allocating an identical controller to both the copy source logical volume and the copy destination logical volume so that the loads do not concentrate in a specific controller. There have been many problems concerning such settings and much effort and time has gone into solving these problems.
The present invention was made in light of the above described problem, and is designed to provide a storage controller and control method that can effectively and easily prevent deterioration in data I/O processing performance caused by load concentration in a specific controller.